caffe:同步Batch Normalization(syncbn)作用 |
您所在的位置:网站首页 › sync bn › caffe:同步Batch Normalization(syncbn)作用 |
1、BN训练与测试过程
BN层有4个参数,gamma、beta、moving mean、moving variance。其中gamma、beta为学习参数,moving mean、moving variance为数据集统计均值与方差,不可学习。在训练过程中:
在测试过程中: ![]() momentum为decay,slope_filler与bias_filler分别为gamma与beta的初始化参数。frozen为是否禁止更新参数标识,该示例为train.prototxt,因此为false,在测试过程中应改为true。 3、为什么要同步BN目前网络的训练多为多卡训练,大型网络结构以及复杂任务会使得每张卡负责的batch-size小于等于1,若不进行同步BN,moving mean、moving variance参数会产生较大影响,造成BN层失效。具体参考《MegDet:A Large Mini-Batch Object Detector》 4、融合BN操作为简化inference过程,以及商业代码保密,通常进行BN融合操作。即把BN参数融合至conv层 ![]() https://www.cnblogs.com/makefile/p/batch-norm.html?utm_source=debugrun&utm_medium=referral https://blog.csdn.net/yjl9122/article/details/84729057 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |